home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-10-12 | 4.5 KB | 239 lines | [TEXT/????] |
-
- # Copyright (c) 1992 David I. Bell and Landon Curt Noll
- # Permission is granted to use, distribute, or modify this source,
- # provided that this copyright notice remains intact.
-
- The following calc library files are provided because they serve as
- examples of how use the calc language, and because the authors thought
- them to be useful!
-
- If you write something that you think is useful, please send it to:
-
- dbell@pdact.pd.necisa.oz.au {uunet,pyramid}!pdact.pd.necisa.oz.au!dbell
- chongo@toad.com {uunet,pyramid,sun}!hoptoad!chongo
-
- By convention, a lib file just defines functions, objects and variales.
- (The regression test is an exception.) Also by convention, a usage
- message regarding each important object and function is printed at
- the time of the read. This message printing may be disabled by assigning
- the global value lib_debug to a numeric value > 0.
-
-
- bernoulli.cal
-
- B(n)
- Calculate the nth Bernoulli number.
-
-
- bigprime.cal
-
- bigprime(a, m, p)
-
- A prime test, base a, on p*2^x+1 for even x>m.
-
-
- deg.cal
-
- dms(deg, min, sec)
- dms_add(a, b)
- dms_neg(a)
- dms_sub(a, b)
- dms_mul(a, b)
- dms_print(a)
-
- Calculate in degrees, minutes, and seconds.
-
-
- ellip.cal
-
- factor(iN, ia, B, force)
-
- Attempt to factor using the elliptic functions: y^2 = x^3 + a*x + b.
-
-
- lucas.cal
-
- lucas(h, n)
-
- Perform a primality test of h*2^n-1, with 1<=h<2*n.
-
-
- lucas_chk.cal
-
- lucas_chk(high_n)
-
- Test all primes of the form h*2^n-1, with 1<=h<200 and n <= high_n.
- Requires lucas.cal to be loaded. The highest useful high_n is 1000.
-
-
- lucas_tbl.cal
-
- Lucasian criteria for primality tables.
-
-
- mersenne.cal
-
- mersenne(p)
-
- Perform a primality test of 2^p-1, for prime p>1.
-
-
- mod.cal
-
- mod(a)
- mod_print(a)
- mod_one()
- mod_cmp(a, b)
- mod_rel(a, b)
- mod_add(a, b)
- mod_sub(a, b)
- mod_neg(a)
- mod_mul(a, b)
- mod_square(a)
- mod_inc(a)
- mod_dec(a)
- mod_inv(a)
- mod_div(a, b)
- mod_pow(a, b)
-
- Routines to handle numbers modulo a specified number.
-
-
- nextprim.cal
-
- nextprime(n, tries)
-
- Function to find the next prime (probably).
-
-
- pell.cal
-
- pellx(D)
- pell(D)
-
- Solve Pell's equation; Returns the solution X to: X^2 - D * Y^2 = 1.
- Type the solution to pells equation for a particular D.
-
-
- pi.cal
-
- qpi(epsilon)
-
- Calculate pi within the specified epsilon using the quartic convergence
- iteration.
-
-
- pollard.cal
-
- factor(N, N, ai, af)
-
- Factor using Pollard's p-1 method.
-
-
- poly.cal
-
- pol()
- poly_print(a)
- poly_add(a, b)
- poly_neg(a)
- poly_sub(a, b)
- poly_mul(a, b)
- poly_div(a, b)
- ev(a, x)
-
- Calculate with polynomials of one variable
-
-
- psqrt.cal
-
- psqrt(u, p)
-
- Calculate square roots modulo a prime
-
-
- quat.cal
-
- quat(a, b, c, d)
- quat_print(a)
- quat_norm(a)
- quat_abs(a, e)
- quat_conj(a)
- quat_add(a, b)
- quat_sub(a, b)
- quat_inc(a)
- quat_dec(a)
- quat_neg(a)
- quat_mul(a, b)
- quat_div(a, b)
- quat_inv(a)
- quat_scale(a, b)
- quat_shift(a, b)
-
- Calculate using quaternions of the form: a + bi + cj + dk. In these
- functions, quaternians are manipulated in the form: s + v, where
- s is a scalar and v is a vector of size 3.
-
-
- regress.cal
-
- Test the correct execution of the calculator by reading this library file.
- Errors are reported with '****' mssages, or worse. :-)
-
-
- solve.cal
-
- solve(low, high, epsilon)
-
- Solve the equation f(x) = 0 to within the desired error value for x.
- The function 'f' must be defined outside of this routine, and the low
- and high values are guesses which must produce values with opposite signs.
-
-
- sumsq.cal
-
- ss(p)
-
- Determine the unique two positive integers whose squares sum to the
- specified prime. This is always possible for all primes of the form
- 4N+1, and always impossible for primes of the form 4N-1.
-
-
- surd.cal
-
- surd(a, b)
- surd_print(a)
- surd_conj(a)
- surd_norm(a)
- surd_value(a, xepsilon)
- surd_add(a, b)
- surd_sub(a, b)
- surd_inc(a)
- surd_dec(a)
- surd_neg(a)
- surd_mul(a, b)
- surd_square(a)
- surd_scale(a, b)
- surd_shift(a, b)
- surd_div(a, b)
- surd_inv(a)
- surd_sgn(a)
- surd_cmp(a, b)
- surd_rel(a, b)
-
- Calculate using quadratic surds of the form: a + b * sqrt(D).
-
-
- unitfrac.cal
-
- unitfrac(x)
-
- Represent a fraction as sum of distinct unit fractions.
-
-
- varargs.cal
-
- sc(a, b, ...)
-
- Example program to use 'varargs'. Program to sum the cubes of all
- the specified numbers.
-